package art.client.services;

import java.util.List;

import art.shared.entities.ArtShared;
import art.shared.entities.GenreShared;
import art.shared.entities.RatingShared;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface ArtServiceAsync {

	void addArt(ArtShared art, AsyncCallback<Boolean> callback);

	void addRatingToArt(RatingShared rating, AsyncCallback<Boolean> callback);

	void deleteArt(Long id, AsyncCallback<Boolean> callback);

	void getArts(AsyncCallback<List<ArtShared>> callback);

	void getArtsOfUser(Long userId, AsyncCallback<List<ArtShared>> callback);

	void getGenres(AsyncCallback<List<GenreShared>> callback);

	void getRatingsOfArt(long artId, AsyncCallback<List<RatingShared>> callback);

	void getAllRatings(AsyncCallback<List<RatingShared>> callback);

}
